package priv.menguer.state;

import priv.menguer.state.controller.Context;
import priv.menguer.state.service.impl.StartState;
import priv.menguer.state.service.impl.StopState;

/**
 * @Title StatePatternDemo.java
 * @description 在状态模式（State Pattern）中，类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。
 *              在状态模式中，我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。
 * @time 2018年10月26日 上午11:27:24
 * @author menguer@126.com
 * @version 1.0
 */
public class StatePatternDemo {
	public static void main(String[] args) {
		Context context = new Context();

		StartState startState = new StartState();
		startState.doAction(context);

		System.out.println(context.getState().toString());

		StopState stopState = new StopState();
		stopState.doAction(context);

		System.out.println(context.getState().toString());
	}
}
